Certain embodiments of the present invention relate to the process of filtering video data. More specifically certain embodiments relate to adaptively filtering reconstructed blocks of video data, comprising both frame-coded and field-coded blocks, in order to improve coding efficiency and image quality as part of the de-blocking process.
Various video compression schemes use different sizes of blocks of pixels. For example MPEG-2 uses a 16×16 block of pixels (referred to as a “macroblock”). One motivation for creating the MPEG-2 standard was to support interlaced video. MPEG-2 targets coding for broadcast-quality video. Therefore, it is desired to digitize the source video at full bandwidth, resulting in even and odd fields. The two fields are separated in time and MPEG-2 provides a way of coding interlaced fields by including field-based prediction techniques.
A coded representation of a video picture may be reconstructed to a frame or a field. During the encoding process, an encoder codes a frame as one picture frame or two field pictures. For encoding as two field pictures, each field is coded independently of the other. In other words, the two fields are coded as if they are two different pictures.
For frame pictures, each macroblock may be predicted (using motion compensation) on a frame or field basis. Frame-based prediction uses one motion vector per direction (forward or backward) to capture the motion with respect to a reference frame. Field-based prediction uses two motion vectors, one for each field. As a result, there may be up to four vectors (two per direction) per macroblock.
Some coding standards, such as H.263 and H.26L, make use of a de-blocking filter in the coding and decoding loop in order to reduce blocking artifacts at the edges where one block interfaces to another. The de-blocking filter may take on a variety of forms depending on the standard. However, deblocking filtering generally involves processing of pixels along the video block edges spanning across neighboring block boundaries in both horizontal and vertical directions.
A set of reconstructed video blocks may be filtered to improve the image quality across the boundaries of the blocks during the video deblocking process.
Current standards making use of deblocking filters are based on progressive video content (frame-coded). Particularly in the case of loop filtering, the horizontal and vertical edges of the block consists of pixels that are correlated in both horizontal and vertical directions in the sense that they have been sampled at the same frame-time. This is the normal result of the fact that progressive video is being processed. Known prior art involving deblocking filtering does not, however, deal with field-coded blocks (interlaced fields).
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.